The invention relates to program flow as well as to establishing a program component system also referred to as “Component Ware”. In particular, the invention relates to a program flow method in a program component system as well as a method for expanding such system.
In the article “Componentenware-von der Komponente zur Applikation” (Component ware—from component to application) by Michael Stal, published in the magazine OBJEKTspektrum, vol. 3, 1987, pages 86–89, the basics of program component systems are described. It is aimed at replacing the very time consuming software production which has been required until now, by simply “wiring” given components. These components are supposed to be applicable in different contexts without requiring the component producer to disclose details of the source code a component is based on.
For producing component ware several mutually supplementary technologies are known such as distribution platforms, container platforms and the composite documents technology.
In distribution platforms, conventions and tools for distributing components beyond computer boundaries and for communicating between the components are provided. The following distribution platforms have become quasi industrial standards: DCOM (Distributed Component Object Model) by Microsoft, CORBA (Common Object Request Broker Architecture) by OMG (Object Management Group), JAVA-RMI (Remote Method Invocation) by JavaSoft.
Container platforms include a solution-oriented set of software components at least partially covering a predetermined field of problems and tasks (such as stockkeeping, accounting, . . . ) and a solution neutral middleware (such as a graphical user interface) to permit an interaction between the components and the user.
The composite documents technology provides for integrating different applications. A composite document comprises several components (such as tables, graphics, texts, . . . ) with one application being responsible for each of them. Known architectures for composite documents are for example ActiveX by Microsoft, OpenDoc by CILab and Java Beans by JavaSoft.
However, the available methods have the problem that the functionality of a component can only and exclusively be used via interfaces predefined by the component manufacturer. In particular, these interfaces are the methods or parameters predefined by the component manufacturer. As the source code is generally not available, there is no way to expand the functionality of a component independently of the component manufacturer. A mere possibility for parametrization which may be provided, does not constitute an expansion of the functionality of a component, as all possible functions already have to be provided originally by the component manufacturer.